// 封装axios
import axios from "axios";

const defaultError = () => ElMessage.error('发生未知错误,请联系管理员')
// 失败的话把失败的信息打印出来
const defaultFailure = (message) => ElMessage.warning(message)
// 失败和错误都设置默认值
function post(url,data,success,failure = defaultFailure,error = defaultError){
    axios.post(url,data,{
        headers:{
            // 封装为json格式
            "Content-Type": 'application/x-www-form-urlencoded'
        },
        // 发送请求是否携带cookie,使用jwt之后这个配置就可以改为false
        withCredentials: true,
    }).then(({data})=>{
        if (data.success)
            //成功将数据的描述信息和状态返回
            success(data.message,data.status)
        else
            failure(data.message,data.status)
    }).catch(error)
}


function get(url,success,failure = defaultFailure,error = defaultError){
    axios.post(url,{
        // 发送请求是否携带cookie,使用jwt之后这个配置就可以改为false
        withCredentials: true,
    }).then(({data})=>{
        if (data.success)
            //成功将数据的描述信息和状态返回
            success(data.message,data.status)
        else
            failure(data.message,data.status)
    }).catch(error)
}

// 将请求工具暴漏出去
export {get,post}


